package com.chenxin.interact.service.impl;

import java.util.List;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.chenxin.common.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.chenxin.interact.mapper.UrlMapMapper;
import com.chenxin.interact.domain.UrlMap;
import com.chenxin.interact.service.IUrlMapService;

/**
 * 系统路径Service业务层处理
 *
 * @author gry
 * @date 2025-04-23
 */
@Service
public class UrlMapServiceImpl implements IUrlMapService {
    @Autowired
    private UrlMapMapper urlMapMapper;

    /**
     * 查询系统路径
     *
     * @param urlId 系统路径主键
     * @return 系统路径
     */
    @Override
    public UrlMap selectUrlMapByUrlId(Long urlId) {
        return urlMapMapper.selectUrlMapByUrlId(urlId);
    }

    /**
     * 查询系统路径
     *
     * @param urlNo 系统路径编号
     * @return 系统路径
     */
    @Override
    public UrlMap selectUrlMapByUrlNo(String urlNo) {
        if (StringUtils.isBlank(urlNo)) {
            return null;
        }
        QueryWrapper<UrlMap> qw = new QueryWrapper<>();
        qw.lambda().eq(UrlMap::getUrlNo, urlNo).last("limit 1");
        return urlMapMapper.selectOne(qw);
    }

    /**
     * 查询系统路径列表
     *
     * @param urlMap 系统路径
     * @return 系统路径
     */
    @Override
    public List<UrlMap> selectUrlMapList(UrlMap urlMap) {
        return urlMapMapper.selectUrlMapList(urlMap);
    }

    /**
     * 新增系统路径
     *
     * @param urlMap 系统路径
     * @return 结果
     */
    @Override
    public int insertUrlMap(UrlMap urlMap) {
        return urlMapMapper.insertUrlMap(urlMap);
    }

    /**
     * 修改系统路径
     *
     * @param urlMap 系统路径
     * @return 结果
     */
    @Override
    public int updateUrlMap(UrlMap urlMap) {
        return urlMapMapper.updateUrlMap(urlMap);
    }

    /**
     * 批量删除系统路径
     *
     * @param urlIds 需要删除的系统路径主键
     * @return 结果
     */
    @Override
    public int deleteUrlMapByUrlIds(Long[] urlIds) {
        return urlMapMapper.deleteUrlMapByUrlIds(urlIds);
    }

    /**
     * 删除系统路径信息
     *
     * @param urlId 系统路径主键
     * @return 结果
     */
    @Override
    public int deleteUrlMapByUrlId(Long urlId) {
        return urlMapMapper.deleteUrlMapByUrlId(urlId);
    }
}
